﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using MJM.SPP.EntidadesNegocio;
using MJM.CBD.Conn;

namespace MJM.SPP.AccesoDatos
{
    public class IconoAPPAD
    {
        public int Insertar(IconoAPPEN objIconoAPPEN)
        { 
            int codigo=0;
            SqlConnection Conn = new SqlConnection(Cadena.GetCadenaPadron());
            SqlCommand cmdInsertar = new SqlCommand("sp_i_T_CONF_ICOAPP_Insertar", Conn);
            cmdInsertar.CommandType = CommandType.StoredProcedure;
            SqlParameter prmIdTipoElemento,prmId,prmNombreArch,prmArchivo;
            try
            {
                prmIdTipoElemento = cmdInsertar.CreateParameter();
                prmIdTipoElemento.ParameterName = "@vICOAPP_inTIPELE";
                prmIdTipoElemento.SqlDbType = SqlDbType.Int;
                prmIdTipoElemento.Value = objIconoAPPEN.ICOAPP_inTIPELE;
                cmdInsertar.Parameters.Add(prmIdTipoElemento);

                prmId = cmdInsertar.CreateParameter();
                prmId.ParameterName = "@vICOAPP_inIDELE";
                prmId.SqlDbType = SqlDbType.Int;
                prmId.Value = objIconoAPPEN.ICOAPP_inIDELE;
                cmdInsertar.Parameters.Add(prmId);

                prmNombreArch = cmdInsertar.CreateParameter();
                prmNombreArch.ParameterName = "@vICOAPP_chNOMICO";
                prmNombreArch.SqlDbType = SqlDbType.VarChar;
                prmNombreArch.Value = objIconoAPPEN.ICOAPP_chNOMICO;
                cmdInsertar.Parameters.Add(prmNombreArch);

                prmArchivo = cmdInsertar.CreateParameter();
                prmArchivo.ParameterName = "@vICOAPP_biARCICO";
                prmArchivo.SqlDbType = SqlDbType.VarBinary;
                prmArchivo.Value = objIconoAPPEN.ICOAPP_biARCICO;
                cmdInsertar.Parameters.Add(prmArchivo);

                cmdInsertar.Connection.Open();
                cmdInsertar.ExecuteNonQuery();
                cmdInsertar.Connection.Close();
                cmdInsertar.Dispose();
                Conn.Dispose();
            }
            catch(Exception ex)
            {
                cmdInsertar.Dispose();
                Conn.Dispose();
            }
            return codigo;
        }

        public IconoAPPEN Obtener(int Tipo,int IdElemento)
        {
            IconoAPPEN objIconoAPPEN = new IconoAPPEN();
            SqlConnection Conn = new SqlConnection(Cadena.GetCadenaPadron());
            SqlCommand cmd = new SqlCommand("sp_s_T_CONF_ICOAPP_Obtener", Conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter prmIdTipo,prmIdElemento;
            SqlDataReader dr;
            try
            {
                prmIdTipo = cmd.CreateParameter();
                prmIdTipo.ParameterName = "@vICOAPP_inTIPELE";
                prmIdTipo.SqlDbType = SqlDbType.Int;
                prmIdTipo.Value = Tipo;
                cmd.Parameters.Add(prmIdTipo);

                prmIdElemento = cmd.CreateParameter();
                prmIdElemento.ParameterName = "@vICOAPP_inIDELE";
                prmIdElemento.SqlDbType = SqlDbType.Int;
                prmIdElemento.Value = IdElemento;
                cmd.Parameters.Add(prmIdElemento);

                cmd.Connection.Open();
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    objIconoAPPEN.ICOAPP_P_inID = dr.GetInt32(0);
                    objIconoAPPEN.ICOAPP_inTIPELE = dr.GetInt32(1);
                    objIconoAPPEN.ICOAPP_inIDELE = dr.GetInt32(2);
                    objIconoAPPEN.ICOAPP_chNOMICO = dr.GetString(3);
                    objIconoAPPEN.ICOAPP_biARCICO = (byte[])dr[4];
                    objIconoAPPEN.ICOAPP_inFLAELI = dr.GetInt32(5);
                }
                else
                    objIconoAPPEN=null;
                cmd.Connection.Close();
                Conn.Dispose();
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                Conn.Dispose();
            }
            return objIconoAPPEN;
        }
    }
}
